The present invention relates to software documentation, and more specifically, to automated translation of screen images for software documentation.
In order to assist a user in learning how to use a software product, software documentation is often provided to step the user through a series of tasks. The documentation typically includes text describing the actions to be taken, as well as images of screens displayed by the application so that the user can visually see the expected screens together with the fields where data needs to be entered, the buttons to be pressed, and/or the menu selections to be taken. Generating and embedding images of screens, or screen shots, for software documentation is labor intensive when the documentation has to be made available in more than one language.
Typically, software is written, tested, and documented in a primary language, usually the native language of the software developers. The text that is included in the software application, both the labels and messages of the application itself, and the text in the documentation, is sent to translation experts who translate the text from the primary language into the desired other languages.
If the documentation includes screen shots from the application stored in image formats, such as .jpg or .png, translating the text in the screen shot is a complex task. Even if the literals can be located within the image and removed, and translated text inserted, the translated text is typically a different length than the original text. The translated text can end up clipped and/or overflowing into other areas of the screen, and the resulting screen is not the screen that the user will actually see when running the software application.
One approach is not to include screen shots in the documentation to avoid the complexity of translating literals within a captured image file. Another approach is to prepare the software documentation in the original language with original screen shots and then recreate the screen shots in the secondary language by executing the software application being documented. The application is re-run in the secondary language until the same point is reached that the original screen shot was taken and a screen capture is re-taken of the application in the secondary language. In this approach, the translation step is no longer just text but involves re-executing the application in the secondary language which includes setting up the correct environment for the software to run, ideally with the same data as the original so that the application functions and behaves in the same way as the original. This requires that the team who performs the translation of the GUI strings to have technical skills in order to launch and drive the software product being translated.